home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr23
/
fixmbr28.zip
/
CHK.DOC
next >
Wrap
Text File
|
1993-04-03
|
5KB
|
101 lines
CHKMEM, CHKBOOT, & CHKCMOS
The CHK programs are part of a suite of programs
which I have developed as personal tools for the investigation of
viruses. For some reason (possibly laziness) I have become something
of a specialist in Master Boot Record, DOS Boot Record, and other low
level infections.
Each carries its own documentation internally. To read, for CHKMEM
simply TYPE the progran (e.g. TYPE CHKBOOT.COM), for CHKBOOT, invocation
without a drive letter (e.g. CHKBOOT) will provide help. CHKCMOS has no
options & therefore has no internal documentation.
With the current rise in number and prevalence of such infections - in
particular the destructive MICHELANGELO, I am releasing these programs,
as FREEWARE to the general public so long as they are not changed in any
way, and in particular so long as the ASCII notices remain intact and are
displayed.
Like any personal tool, I can make no guarentee as to the fitness for
any use but they have proven effective for me. They are not 100% effective
against any and all viruses but CHKMEM will find all of the MBR infectors
and quite a few of the file infectors that go resident in the "upper 640".
MICHELANGELO in particular will return a total memory value that is 2k
lower than expected (most 640k machines should return A000 seg 640k 655,360
bytes when clean) when resident as will STONED and most of its varients.
If DOS 4.x is in use, this return may be 1k lower - 9FC0 seg - and certain
COMPAQ and other machines with dedicated mouse buffers may do so also as
will most BIOS-beginning security program such as my DiskSecure program.
Be aware that such a memory loss may be normal but any should be
investigated to determine what the cause is. If you have a low value and
are in doubt, one test would be to boot from a known, clean, write-protected
floppy and see if the values are the same. Note that the lower two values
will change depending on what TSRs are loaded but their sum should remain
the same.
The best use of CHKMEM is before a virus strikes to record "clean" values.
This way and differences will be redily noticable.
CHKBOOT simply checks the boot record of floppy and fixed disks for
adherance to certain rules. Note that STONED and MICHELANGELO will not
be detectable on fixed disks this way since they are MBR not DOS Boot
Record infectors. CHKBOOT will detect these infections (and others) very
effectively on floppies. Also please note that it will not detect certain
viruses that "play by the rules" on floppy disks but I have seen very few
of these. Again be aware that some security products maintenance disks
(e.g. my DiskSecure again) may also violate these rules so if a disk is
flagged as infected, be aware that there is a small chance that it may
be a valid disk. It is also possible that some disk formatting routines
may legitemately violate my somewhat arbritrary rules. If so, I would
like to know about it.
Since some "stealth" viruses may return correct values to CHKBOOT, it
is recommended that CHKMEM be run first unless the system is known to
be clean. Those "stealth" MBR infections that I have observed are detectable
with CHKMEM when resident.
Just to make things a bit more difficult for would-be virus-writers, the
rules these publicly-released versions use are slightly different than
those in my personal toolkit but are designed to be just as effective
at finding viruses.
Note: while these programs are designed to provide indication that a virus
such as STONED or MICHELANGELO is present, they do nothing to remove such
viruses, the proper treatment will depend on the virus encountered. For
protection, please see my FREEWARE programs SafeMBR and NoFBoot.
CHKCMOS is a new program written in response to the EXEBUG virus. It is
not very smart, just returning the information contained in the lower
configuration bytes of the CMOS, those referring to floppy disks, fixed
disks, and memory size. Since the CMOS checksum must agree with its
contentent to work properly, a checksum mismatch is more likely due
to a failing battery than to any other reason.
CHKCMOS is based on the original IBM-AT CMOS specification and has not
been sufficiently tested to expect proper results with any other CMOS
(though it has worked properly on all I have come across). As a
consequence it must be considered very much a "beta". The good news is
that it only reads the CMOS so it is very unlikely that it can do any
harm. Note that it is for use with AT class PCs and above, operation on
8088 class PCs is unpredictable.
RETURNS: While these programs were originally designed for manual use,
errorlevel returns have been added for use in batch files (CHKBOOT
should only be used this way on fixed disks) or from Network
servers. Returns will be 0 for valid termination and 1 or 2 for
suspect termination.
Weasel-Words: Use entirely at your own risk. No garentees of any kind are
made or implied. Just because I cannot think of any problems that
might occur does not mean that none exist (though all three programs
are passive in nature). False positives may occur.
Padgett Peterson
POB 1203
Windermere, Florida, USA, 34786
2 April, 1993
Internet: padgett%tccslr.dnet@mmc.com